// export pak , yas ; starting begin ResetFog ;
   0: CALL_OW 335
// RandomizeAll ;
   4: CALL_OW 11
// disable ( 01 ) ;
   8: LD_INT 1
  10: DISABLE_MARKED
// disable ( 02 ) ;
  11: LD_INT 2
  13: DISABLE_MARKED
// disable ( 03 ) ;
  14: LD_INT 3
  16: DISABLE_MARKED
// zbroje = 0 ;
  17: LD_ADDR_EXP 6
  21: PUSH
  22: LD_INT 0
  24: ST_TO_ADDR
// laby = 0 ;
  25: LD_ADDR_EXP 7
  29: PUSH
  30: LD_INT 0
  32: ST_TO_ADDR
// uc_side = 3 ;
  33: LD_ADDR_OWVAR 20
  37: PUSH
  38: LD_INT 3
  40: ST_TO_ADDR
// yas := NewCharacter ( Yas ) ;
  41: LD_ADDR_EXP 2
  45: PUSH
  46: LD_STRING Yas
  48: PPUSH
  49: CALL_OW 25
  53: ST_TO_ADDR
// pak := NewCharacter ( Pak ) ;
  54: LD_ADDR_EXP 1
  58: PUSH
  59: LD_STRING Pak
  61: PPUSH
  62: CALL_OW 25
  66: ST_TO_ADDR
// CenteronXY ( 47 , 8 ) ;
  67: LD_INT 47
  69: PPUSH
  70: LD_INT 8
  72: PPUSH
  73: CALL_OW 84
// PlaceUnitArea ( pak , start , true ) ;
  77: LD_EXP 1
  81: PPUSH
  82: LD_INT 1
  84: PPUSH
  85: LD_INT 1
  87: PPUSH
  88: CALL_OW 49
// Wait ( 0 0$2 ) ;
  92: LD_INT 70
  94: PPUSH
  95: CALL_OW 67
// DialogueOn ;
  99: CALL_OW 6
// Say ( pak , p10 ) ;
 103: LD_EXP 1
 107: PPUSH
 108: LD_STRING p10
 110: PPUSH
 111: CALL_OW 88
// SayRadio ( yas , y10 ) ;
 115: LD_EXP 2
 119: PPUSH
 120: LD_STRING y10
 122: PPUSH
 123: CALL_OW 94
// Say ( pak , p11 ) ;
 127: LD_EXP 1
 131: PPUSH
 132: LD_STRING p11
 134: PPUSH
 135: CALL_OW 88
// SayRadio ( yas , y11 ) ;
 139: LD_EXP 2
 143: PPUSH
 144: LD_STRING y11
 146: PPUSH
 147: CALL_OW 94
// Say ( pak , p12 ) ;
 151: LD_EXP 1
 155: PPUSH
 156: LD_STRING p12
 158: PPUSH
 159: CALL_OW 88
// SayRadio ( yas , y12 ) ;
 163: LD_EXP 2
 167: PPUSH
 168: LD_STRING y12
 170: PPUSH
 171: CALL_OW 94
// Say ( pak , p13 ) ;
 175: LD_EXP 1
 179: PPUSH
 180: LD_STRING p13
 182: PPUSH
 183: CALL_OW 88
// DialogueOff ;
 187: CALL_OW 7
// wait ( 0 0$02 ) ;
 191: LD_INT 70
 193: PPUSH
 194: CALL_OW 67
// Say ( pak , p14 ) ;
 198: LD_EXP 1
 202: PPUSH
 203: LD_STRING p14
 205: PPUSH
 206: CALL_OW 88
// ChangeMissionObjectives ( Cel ) ;
 210: LD_STRING Cel
 212: PPUSH
 213: CALL_OW 337
// SetAreaMapShow ( baza1 , 1 ) ;
 217: LD_INT 2
 219: PPUSH
 220: LD_INT 1
 222: PPUSH
 223: CALL_OW 424
// SetAreaMapShow ( lost , 1 ) ;
 227: LD_INT 4
 229: PPUSH
 230: LD_INT 1
 232: PPUSH
 233: CALL_OW 424
// SaveForQuickRestart ;
 237: CALL_OW 22
// RandomizeAll ;
 241: CALL_OW 11
// end ;
 245: END
// every 0 0$01 + 0 0$10 trigger FilterAllUnits ( [ f_side , 1 ] ) = 0 marked 01 do
 246: LD_INT 22
 248: PUSH
 249: LD_INT 1
 251: PUSH
 252: EMPTY
 253: LIST
 254: LIST
 255: PPUSH
 256: CALL_OW 69
 260: PUSH
 261: LD_INT 0
 263: EQUAL
 264: IFFALSE 417
 266: GO 268
 268: DISABLE
// begin Say ( pak , p15 ) ;
 269: LD_EXP 1
 273: PPUSH
 274: LD_STRING p15
 276: PPUSH
 277: CALL_OW 88
// SayRadio ( yas , y13 ) ;
 281: LD_EXP 2
 285: PPUSH
 286: LD_STRING y13
 288: PPUSH
 289: CALL_OW 94
// Say ( pak , p16 ) ;
 293: LD_EXP 1
 297: PPUSH
 298: LD_STRING p16
 300: PPUSH
 301: CALL_OW 88
// SayRadio ( yas , y14 ) ;
 305: LD_EXP 2
 309: PPUSH
 310: LD_STRING y14
 312: PPUSH
 313: CALL_OW 94
// AddMedal ( pak , 1 ) ;
 317: LD_STRING pak
 319: PPUSH
 320: LD_INT 1
 322: PPUSH
 323: CALL_OW 101
// if FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_human ] ] ) >= 7 then
 327: LD_INT 22
 329: PUSH
 330: LD_INT 3
 332: PUSH
 333: EMPTY
 334: LIST
 335: LIST
 336: PUSH
 337: LD_INT 21
 339: PUSH
 340: LD_INT 1
 342: PUSH
 343: EMPTY
 344: LIST
 345: LIST
 346: PUSH
 347: EMPTY
 348: LIST
 349: LIST
 350: PPUSH
 351: CALL_OW 69
 355: PUSH
 356: LD_INT 7
 358: GREATEREQUAL
 359: IFFALSE 373
// AddMedal ( ludzie , 1 ) else
 361: LD_STRING ludzie
 363: PPUSH
 364: LD_INT 1
 366: PPUSH
 367: CALL_OW 101
 371: GO 384
// AddMedal ( ludzie , - 1 ) ;
 373: LD_STRING ludzie
 375: PPUSH
 376: LD_INT 1
 378: NEG
 379: PPUSH
 380: CALL_OW 101
// AddMedal ( gumwot , 1 ) ;
 384: LD_STRING gumwot
 386: PPUSH
 387: LD_INT 1
 389: PPUSH
 390: CALL_OW 101
// SaveCharacters ( pak , pak ) ;
 394: LD_EXP 1
 398: PPUSH
 399: LD_STRING pak
 401: PPUSH
 402: CALL_OW 38
// GiveMedals ( Medale ) ;
 406: LD_STRING Medale
 408: PPUSH
 409: CALL_OW 102
// YouWin ;
 413: CALL_OW 103
// end ; end_of_file
 417: END
// every 0 0$01 trigger FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_human ] ] ) = 4 do
 418: LD_INT 22
 420: PUSH
 421: LD_INT 3
 423: PUSH
 424: EMPTY
 425: LIST
 426: LIST
 427: PUSH
 428: LD_INT 21
 430: PUSH
 431: LD_INT 1
 433: PUSH
 434: EMPTY
 435: LIST
 436: LIST
 437: PUSH
 438: EMPTY
 439: LIST
 440: LIST
 441: PPUSH
 442: CALL_OW 69
 446: PUSH
 447: LD_INT 4
 449: EQUAL
 450: IFFALSE 594
 452: GO 454
 454: DISABLE
// begin ChangeMissionObjectives ( CelM1w ) ;
 455: LD_STRING CelM1w
 457: PPUSH
 458: CALL_OW 337
// enable ( 02 ) ;
 462: LD_INT 2
 464: ENABLE_MARKED
// wait ( 0 0$10 ) ;
 465: LD_INT 350
 467: PPUSH
 468: CALL_OW 67
// Say ( pak , pa1 ) ;
 472: LD_EXP 1
 476: PPUSH
 477: LD_STRING pa1
 479: PPUSH
 480: CALL_OW 88
// wait ( 6 6$0 ) ;
 484: LD_INT 12600
 486: PPUSH
 487: CALL_OW 67
// Atak1 ;
 491: CALL 1771 0 0
// wait ( 2 2$30 ) ;
 495: LD_INT 5250
 497: PPUSH
 498: CALL_OW 67
// Say ( pak , pa2 ) ;
 502: LD_EXP 1
 506: PPUSH
 507: LD_STRING pa2
 509: PPUSH
 510: CALL_OW 88
// SetAreaMapShow ( baza1 , 0 ) ;
 514: LD_INT 2
 516: PPUSH
 517: LD_INT 0
 519: PPUSH
 520: CALL_OW 424
// SetAreaMapShow ( baza2 , 1 ) ;
 524: LD_INT 3
 526: PPUSH
 527: LD_INT 1
 529: PPUSH
 530: CALL_OW 424
// disable ( 02 ) ;
 534: LD_INT 2
 536: DISABLE_MARKED
// enable ( 03 ) ;
 537: LD_INT 3
 539: ENABLE_MARKED
// wait ( 6 6$0 ) ;
 540: LD_INT 12600
 542: PPUSH
 543: CALL_OW 67
// Atak2 ;
 547: CALL 1957 0 0
// wait ( 2 2$30 ) ;
 551: LD_INT 5250
 553: PPUSH
 554: CALL_OW 67
// Say ( pak , pa3 ) ;
 558: LD_EXP 1
 562: PPUSH
 563: LD_STRING pa3
 565: PPUSH
 566: CALL_OW 88
// SetAreaMapShow ( baza2 , 0 ) ;
 570: LD_INT 3
 572: PPUSH
 573: LD_INT 0
 575: PPUSH
 576: CALL_OW 424
// disable ( 03 ) ;
 580: LD_INT 3
 582: DISABLE_MARKED
// wait ( 2 2$0 ) ;
 583: LD_INT 4200
 585: PPUSH
 586: CALL_OW 67
// Atak3 ;
 590: CALL 2143 0 0
// end ;
 594: END
// every 0 0$01 marked 02 do
 595: GO 597
 597: DISABLE
// begin wait ( 2 2$0 ) ;
 598: LD_INT 4200
 600: PPUSH
 601: CALL_OW 67
// CreateCratesArea ( 2 , kraty1 , true ) ;
 605: LD_INT 2
 607: PPUSH
 608: LD_INT 7
 610: PPUSH
 611: LD_INT 1
 613: PPUSH
 614: CALL_OW 55
// enable ;
 618: ENABLE
// end ;
 619: END
// every 0 0$01 marked 03 do
 620: GO 622
 622: DISABLE
// begin wait ( 2 2$0 ) ;
 623: LD_INT 4200
 625: PPUSH
 626: CALL_OW 67
// CreateCratesArea ( 2 , kraty2 , true ) ;
 630: LD_INT 2
 632: PPUSH
 633: LD_INT 8
 635: PPUSH
 636: LD_INT 1
 638: PPUSH
 639: CALL_OW 55
// enable ;
 643: ENABLE
// end ;
 644: END
// every 0 0$01 do
 645: GO 647
 647: DISABLE
// begin repeat wait ( 0 0$1 ) ;
 648: LD_INT 35
 650: PPUSH
 651: CALL_OW 67
// until Getdistunits ( pak , doc ) < 6 ;
 655: LD_EXP 1
 659: PPUSH
 660: LD_EXP 5
 664: PPUSH
 665: CALL_OW 296
 669: PUSH
 670: LD_INT 6
 672: LESS
 673: IFFALSE 648
// Setside ( doc , 3 ) ;
 675: LD_EXP 5
 679: PPUSH
 680: LD_INT 3
 682: PPUSH
 683: CALL_OW 235
// Say ( doc , d1 ) ;
 687: LD_EXP 5
 691: PPUSH
 692: LD_STRING d1
 694: PPUSH
 695: CALL_OW 88
// end ; end_of_file
 699: END
// export sol , eng , doc , zbroje , laby ; var i ; every 0 0$0.1 do
 700: GO 702
 702: DISABLE
// begin InitHc ;
 703: CALL_OW 19
// InitUc ;
 707: CALL_OW 18
// uc_side = 5 ;
 711: LD_ADDR_OWVAR 20
 715: PUSH
 716: LD_INT 5
 718: ST_TO_ADDR
// uc_nation = 3 ;
 719: LD_ADDR_OWVAR 21
 723: PUSH
 724: LD_INT 3
 726: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 2 , 3 ) , Rand ( 0 , 2 ) , 0 ] ;
 727: LD_ADDR_OWVAR 31
 731: PUSH
 732: LD_INT 0
 734: PPUSH
 735: LD_INT 2
 737: PPUSH
 738: CALL_OW 12
 742: PUSH
 743: LD_INT 2
 745: PPUSH
 746: LD_INT 3
 748: PPUSH
 749: CALL_OW 12
 753: PUSH
 754: LD_INT 0
 756: PPUSH
 757: LD_INT 2
 759: PPUSH
 760: CALL_OW 12
 764: PUSH
 765: LD_INT 0
 767: PUSH
 768: EMPTY
 769: LIST
 770: LIST
 771: LIST
 772: LIST
 773: ST_TO_ADDR
// hc_class = 2 ;
 774: LD_ADDR_OWVAR 28
 778: PUSH
 779: LD_INT 2
 781: ST_TO_ADDR
// eng = CreateHuman ;
 782: LD_ADDR_EXP 4
 786: PUSH
 787: CALL_OW 44
 791: ST_TO_ADDR
// PlaceUnitXY ( eng , 79 , 4 , false ) ;
 792: LD_EXP 4
 796: PPUSH
 797: LD_INT 79
 799: PPUSH
 800: LD_INT 4
 802: PPUSH
 803: LD_INT 0
 805: PPUSH
 806: CALL_OW 48
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , Rand ( 2 , 3 ) ] ;
 810: LD_ADDR_OWVAR 31
 814: PUSH
 815: LD_INT 0
 817: PPUSH
 818: LD_INT 1
 820: PPUSH
 821: CALL_OW 12
 825: PUSH
 826: LD_INT 0
 828: PPUSH
 829: LD_INT 2
 831: PPUSH
 832: CALL_OW 12
 836: PUSH
 837: LD_INT 0
 839: PPUSH
 840: LD_INT 2
 842: PPUSH
 843: CALL_OW 12
 847: PUSH
 848: LD_INT 2
 850: PPUSH
 851: LD_INT 3
 853: PPUSH
 854: CALL_OW 12
 858: PUSH
 859: EMPTY
 860: LIST
 861: LIST
 862: LIST
 863: LIST
 864: ST_TO_ADDR
// hc_class = 4 ;
 865: LD_ADDR_OWVAR 28
 869: PUSH
 870: LD_INT 4
 872: ST_TO_ADDR
// doc = CreateHuman ;
 873: LD_ADDR_EXP 5
 877: PUSH
 878: CALL_OW 44
 882: ST_TO_ADDR
// PlaceUnitXY ( doc , 85 , 26 , false ) ;
 883: LD_EXP 5
 887: PPUSH
 888: LD_INT 85
 890: PPUSH
 891: LD_INT 26
 893: PPUSH
 894: LD_INT 0
 896: PPUSH
 897: CALL_OW 48
// hc_class = 1 ;
 901: LD_ADDR_OWVAR 28
 905: PUSH
 906: LD_INT 1
 908: ST_TO_ADDR
// hc_skills = [ Rand ( 2 , 3 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , 0 ] ;
 909: LD_ADDR_OWVAR 31
 913: PUSH
 914: LD_INT 2
 916: PPUSH
 917: LD_INT 3
 919: PPUSH
 920: CALL_OW 12
 924: PUSH
 925: LD_INT 0
 927: PPUSH
 928: LD_INT 2
 930: PPUSH
 931: CALL_OW 12
 935: PUSH
 936: LD_INT 0
 938: PPUSH
 939: LD_INT 2
 941: PPUSH
 942: CALL_OW 12
 946: PUSH
 947: LD_INT 0
 949: PUSH
 950: EMPTY
 951: LIST
 952: LIST
 953: LIST
 954: LIST
 955: ST_TO_ADDR
// sol = CreateHuman ;
 956: LD_ADDR_EXP 3
 960: PUSH
 961: CALL_OW 44
 965: ST_TO_ADDR
// PlaceUnitXY ( sol , 8 , 5 , false ) ;
 966: LD_EXP 3
 970: PPUSH
 971: LD_INT 8
 973: PPUSH
 974: LD_INT 5
 976: PPUSH
 977: LD_INT 0
 979: PPUSH
 980: CALL_OW 48
// repeat wait ( 0 0$1 ) ;
 984: LD_INT 35
 986: PPUSH
 987: CALL_OW 67
// until Getdistunits ( pak , sol ) < 6 ;
 991: LD_EXP 1
 995: PPUSH
 996: LD_EXP 3
1000: PPUSH
1001: CALL_OW 296
1005: PUSH
1006: LD_INT 6
1008: LESS
1009: IFFALSE 984
// Setside ( sol , 3 ) ;
1011: LD_EXP 3
1015: PPUSH
1016: LD_INT 3
1018: PPUSH
1019: CALL_OW 235
// Say ( sol , s1 ) ;
1023: LD_EXP 3
1027: PPUSH
1028: LD_STRING s1
1030: PPUSH
1031: CALL_OW 88
// end ;
1035: END
// every 0 0$01 trigger laby = 1 and zbroje = 1 do var i ;
1036: LD_EXP 7
1040: PUSH
1041: LD_INT 1
1043: EQUAL
1044: PUSH
1045: LD_EXP 6
1049: PUSH
1050: LD_INT 1
1052: EQUAL
1053: AND
1054: IFFALSE 1206
1056: GO 1058
1058: DISABLE
1059: LD_INT 0
1061: PPUSH
// for i = 1 to 2 do
1062: LD_ADDR_VAR 0 1
1066: PUSH
1067: DOUBLE
1068: LD_INT 1
1070: DEC
1071: ST_TO_ADDR
1072: LD_INT 2
1074: PUSH
1075: FOR_TO
1076: IFFALSE 1204
// begin uc_side = 3 ;
1078: LD_ADDR_OWVAR 20
1082: PUSH
1083: LD_INT 3
1085: ST_TO_ADDR
// hc_class = 1 ;
1086: LD_ADDR_OWVAR 28
1090: PUSH
1091: LD_INT 1
1093: ST_TO_ADDR
// hc_sex = Rand ( 1 , 2 ) ;
1094: LD_ADDR_OWVAR 27
1098: PUSH
1099: LD_INT 1
1101: PPUSH
1102: LD_INT 2
1104: PPUSH
1105: CALL_OW 12
1109: ST_TO_ADDR
// uc_nation = nation_russian ;
1110: LD_ADDR_OWVAR 21
1114: PUSH
1115: LD_INT 3
1117: ST_TO_ADDR
// hc_skills = [ Rand ( 2 , 3 ) , Rand ( 0 , 1 ) , Rand ( 0 , 1 ) , 0 ] ;
1118: LD_ADDR_OWVAR 31
1122: PUSH
1123: LD_INT 2
1125: PPUSH
1126: LD_INT 3
1128: PPUSH
1129: CALL_OW 12
1133: PUSH
1134: LD_INT 0
1136: PPUSH
1137: LD_INT 1
1139: PPUSH
1140: CALL_OW 12
1144: PUSH
1145: LD_INT 0
1147: PPUSH
1148: LD_INT 1
1150: PPUSH
1151: CALL_OW 12
1155: PUSH
1156: LD_INT 0
1158: PUSH
1159: EMPTY
1160: LIST
1161: LIST
1162: LIST
1163: LIST
1164: ST_TO_ADDR
// sol = CreateHuman ;
1165: LD_ADDR_EXP 3
1169: PUSH
1170: CALL_OW 44
1174: ST_TO_ADDR
// PlaceUnitArea ( sol , rus , false ) ;
1175: LD_EXP 3
1179: PPUSH
1180: LD_INT 5
1182: PPUSH
1183: LD_INT 0
1185: PPUSH
1186: CALL_OW 49
// Say ( sol , s2 ) ;
1190: LD_EXP 3
1194: PPUSH
1195: LD_STRING s2
1197: PPUSH
1198: CALL_OW 88
// end ;
1202: GO 1075
1204: POP
1205: POP
1206: PPOPN 1
1208: END
// on BuildingComplete ( un ) do begin if GetSide ( un ) = 3 then
1209: LD_VAR 0 1
1213: PPUSH
1214: CALL_OW 255
1218: PUSH
1219: LD_INT 3
1221: EQUAL
1222: IFFALSE 1284
// begin if GetBType ( un ) = b_armoury then
1224: LD_VAR 0 1
1228: PPUSH
1229: CALL_OW 266
1233: PUSH
1234: LD_INT 4
1236: EQUAL
1237: IFFALSE 1255
// begin zbroje = zbroje + 1 ;
1239: LD_ADDR_EXP 6
1243: PUSH
1244: LD_EXP 6
1248: PUSH
1249: LD_INT 1
1251: PLUS
1252: ST_TO_ADDR
// end else
1253: GO 1284
// if GetBType ( un ) = b_lab then
1255: LD_VAR 0 1
1259: PPUSH
1260: CALL_OW 266
1264: PUSH
1265: LD_INT 6
1267: EQUAL
1268: IFFALSE 1284
// begin laby = laby + 1 ;
1270: LD_ADDR_EXP 7
1274: PUSH
1275: LD_EXP 7
1279: PUSH
1280: LD_INT 1
1282: PLUS
1283: ST_TO_ADDR
// end end ; end ;
1284: PPOPN 1
1286: END
// every 0 0$01 trigger laby = 2 and zbroje = 2 do var i ;
1287: LD_EXP 7
1291: PUSH
1292: LD_INT 2
1294: EQUAL
1295: PUSH
1296: LD_EXP 6
1300: PUSH
1301: LD_INT 2
1303: EQUAL
1304: AND
1305: IFFALSE 1457
1307: GO 1309
1309: DISABLE
1310: LD_INT 0
1312: PPUSH
// for i = 1 to 2 do
1313: LD_ADDR_VAR 0 1
1317: PUSH
1318: DOUBLE
1319: LD_INT 1
1321: DEC
1322: ST_TO_ADDR
1323: LD_INT 2
1325: PUSH
1326: FOR_TO
1327: IFFALSE 1455
// begin uc_side = 3 ;
1329: LD_ADDR_OWVAR 20
1333: PUSH
1334: LD_INT 3
1336: ST_TO_ADDR
// hc_class = 1 ;
1337: LD_ADDR_OWVAR 28
1341: PUSH
1342: LD_INT 1
1344: ST_TO_ADDR
// hc_sex = Rand ( 1 , 2 ) ;
1345: LD_ADDR_OWVAR 27
1349: PUSH
1350: LD_INT 1
1352: PPUSH
1353: LD_INT 2
1355: PPUSH
1356: CALL_OW 12
1360: ST_TO_ADDR
// uc_nation = nation_russian ;
1361: LD_ADDR_OWVAR 21
1365: PUSH
1366: LD_INT 3
1368: ST_TO_ADDR
// hc_skills = [ Rand ( 2 , 3 ) , Rand ( 0 , 1 ) , Rand ( 0 , 1 ) , 0 ] ;
1369: LD_ADDR_OWVAR 31
1373: PUSH
1374: LD_INT 2
1376: PPUSH
1377: LD_INT 3
1379: PPUSH
1380: CALL_OW 12
1384: PUSH
1385: LD_INT 0
1387: PPUSH
1388: LD_INT 1
1390: PPUSH
1391: CALL_OW 12
1395: PUSH
1396: LD_INT 0
1398: PPUSH
1399: LD_INT 1
1401: PPUSH
1402: CALL_OW 12
1406: PUSH
1407: LD_INT 0
1409: PUSH
1410: EMPTY
1411: LIST
1412: LIST
1413: LIST
1414: LIST
1415: ST_TO_ADDR
// sol = CreateHuman ;
1416: LD_ADDR_EXP 3
1420: PUSH
1421: CALL_OW 44
1425: ST_TO_ADDR
// PlaceUnitArea ( sol , rus , false ) ;
1426: LD_EXP 3
1430: PPUSH
1431: LD_INT 5
1433: PPUSH
1434: LD_INT 0
1436: PPUSH
1437: CALL_OW 49
// Say ( sol , s2 ) ;
1441: LD_EXP 3
1445: PPUSH
1446: LD_STRING s2
1448: PPUSH
1449: CALL_OW 88
// end ;
1453: GO 1326
1455: POP
1456: POP
1457: PPOPN 1
1459: END
// every 0 0$1.0 trigger FilterUnitsInArea ( baza2 , [ [ f_side , 3 ] , [ f_btype , b_lab ] ] ) and FilterUnitsInArea ( baza2 , [ [ f_side , 3 ] , [ f_btype , b_armoury ] ] ) and FilterUnitsInArea ( baza1 , [ [ f_side , 3 ] , [ f_btype , b_lab ] ] ) and FilterUnitsInArea ( baza1 , [ [ f_side , 3 ] , [ f_btype , b_armoury ] ] ) do
1460: LD_INT 3
1462: PPUSH
1463: LD_INT 22
1465: PUSH
1466: LD_INT 3
1468: PUSH
1469: EMPTY
1470: LIST
1471: LIST
1472: PUSH
1473: LD_INT 30
1475: PUSH
1476: LD_INT 6
1478: PUSH
1479: EMPTY
1480: LIST
1481: LIST
1482: PUSH
1483: EMPTY
1484: LIST
1485: LIST
1486: PPUSH
1487: CALL_OW 70
1491: PUSH
1492: LD_INT 3
1494: PPUSH
1495: LD_INT 22
1497: PUSH
1498: LD_INT 3
1500: PUSH
1501: EMPTY
1502: LIST
1503: LIST
1504: PUSH
1505: LD_INT 30
1507: PUSH
1508: LD_INT 4
1510: PUSH
1511: EMPTY
1512: LIST
1513: LIST
1514: PUSH
1515: EMPTY
1516: LIST
1517: LIST
1518: PPUSH
1519: CALL_OW 70
1523: AND
1524: PUSH
1525: LD_INT 2
1527: PPUSH
1528: LD_INT 22
1530: PUSH
1531: LD_INT 3
1533: PUSH
1534: EMPTY
1535: LIST
1536: LIST
1537: PUSH
1538: LD_INT 30
1540: PUSH
1541: LD_INT 6
1543: PUSH
1544: EMPTY
1545: LIST
1546: LIST
1547: PUSH
1548: EMPTY
1549: LIST
1550: LIST
1551: PPUSH
1552: CALL_OW 70
1556: AND
1557: PUSH
1558: LD_INT 2
1560: PPUSH
1561: LD_INT 22
1563: PUSH
1564: LD_INT 3
1566: PUSH
1567: EMPTY
1568: LIST
1569: LIST
1570: PUSH
1571: LD_INT 30
1573: PUSH
1574: LD_INT 4
1576: PUSH
1577: EMPTY
1578: LIST
1579: LIST
1580: PUSH
1581: EMPTY
1582: LIST
1583: LIST
1584: PPUSH
1585: CALL_OW 70
1589: AND
1590: IFFALSE 1602
1592: GO 1594
1594: DISABLE
// begin ChangeMissionObjectives ( CelM2w ) ;
1595: LD_STRING CelM2w
1597: PPUSH
1598: CALL_OW 337
// end ; end_of_file
1602: END
// export jankes , jankes2 ; var i ; every 3 3$0 + 3 3$0 do
1603: GO 1605
1605: DISABLE
// begin enable ;
1606: ENABLE
// uc_side = 4 ;
1607: LD_ADDR_OWVAR 20
1611: PUSH
1612: LD_INT 4
1614: ST_TO_ADDR
// uc_nation = 1 ;
1615: LD_ADDR_OWVAR 21
1619: PUSH
1620: LD_INT 1
1622: ST_TO_ADDR
// hc_class = Rand ( 1 , 4 ) ;
1623: LD_ADDR_OWVAR 28
1627: PUSH
1628: LD_INT 1
1630: PPUSH
1631: LD_INT 4
1633: PPUSH
1634: CALL_OW 12
1638: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1639: LD_ADDR_OWVAR 27
1643: PUSH
1644: LD_INT 1
1646: PPUSH
1647: LD_INT 2
1649: PPUSH
1650: CALL_OW 12
1654: ST_TO_ADDR
// hc_basic_skills = [ 0 , 0 , 0 , 0 ] ;
1655: LD_ADDR_OWVAR 30
1659: PUSH
1660: LD_INT 0
1662: PUSH
1663: LD_INT 0
1665: PUSH
1666: LD_INT 0
1668: PUSH
1669: LD_INT 0
1671: PUSH
1672: EMPTY
1673: LIST
1674: LIST
1675: LIST
1676: LIST
1677: ST_TO_ADDR
// hc_skills = [ rand ( 0 , 2 ) , rand ( 0 , 2 ) , rand ( 0 , 2 ) , rand ( 0 , 2 ) ] ;
1678: LD_ADDR_OWVAR 31
1682: PUSH
1683: LD_INT 0
1685: PPUSH
1686: LD_INT 2
1688: PPUSH
1689: CALL_OW 12
1693: PUSH
1694: LD_INT 0
1696: PPUSH
1697: LD_INT 2
1699: PPUSH
1700: CALL_OW 12
1704: PUSH
1705: LD_INT 0
1707: PPUSH
1708: LD_INT 2
1710: PPUSH
1711: CALL_OW 12
1715: PUSH
1716: LD_INT 0
1718: PPUSH
1719: LD_INT 2
1721: PPUSH
1722: CALL_OW 12
1726: PUSH
1727: EMPTY
1728: LIST
1729: LIST
1730: LIST
1731: LIST
1732: ST_TO_ADDR
// jankes = CreateHuman ;
1733: LD_ADDR_EXP 8
1737: PUSH
1738: CALL_OW 44
1742: ST_TO_ADDR
// PlaceUnitAnywhere ( jankes , true ) ;
1743: LD_EXP 8
1747: PPUSH
1748: LD_INT 1
1750: PPUSH
1751: CALL_OW 51
// ComMoveXY ( jankes , 93 , 0 ) ;
1755: LD_EXP 8
1759: PPUSH
1760: LD_INT 93
1762: PPUSH
1763: LD_INT 0
1765: PPUSH
1766: CALL_OW 111
// end ;
1770: END
// export function atak1 ; begin
1771: LD_INT 0
1773: PPUSH
// for i = 1 to 7 do
1774: LD_ADDR_LOC 2
1778: PUSH
1779: DOUBLE
1780: LD_INT 1
1782: DEC
1783: ST_TO_ADDR
1784: LD_INT 7
1786: PUSH
1787: FOR_TO
1788: IFFALSE 1950
// begin hc_class = 1 ;
1790: LD_ADDR_OWVAR 28
1794: PUSH
1795: LD_INT 1
1797: ST_TO_ADDR
// hc_sex = Rand ( 1 , 2 ) ;
1798: LD_ADDR_OWVAR 27
1802: PUSH
1803: LD_INT 1
1805: PPUSH
1806: LD_INT 2
1808: PPUSH
1809: CALL_OW 12
1813: ST_TO_ADDR
// uc_side = 1 ;
1814: LD_ADDR_OWVAR 20
1818: PUSH
1819: LD_INT 1
1821: ST_TO_ADDR
// uc_nation = 1 ;
1822: LD_ADDR_OWVAR 21
1826: PUSH
1827: LD_INT 1
1829: ST_TO_ADDR
// hc_basic_skills = [ 0 , 0 , 0 , 0 ] ;
1830: LD_ADDR_OWVAR 30
1834: PUSH
1835: LD_INT 0
1837: PUSH
1838: LD_INT 0
1840: PUSH
1841: LD_INT 0
1843: PUSH
1844: LD_INT 0
1846: PUSH
1847: EMPTY
1848: LIST
1849: LIST
1850: LIST
1851: LIST
1852: ST_TO_ADDR
// hc_skills = [ rand ( 2 , 3 ) , rand ( 0 , 2 ) , rand ( 0 , 2 ) , rand ( 0 , 1 ) ] ;
1853: LD_ADDR_OWVAR 31
1857: PUSH
1858: LD_INT 2
1860: PPUSH
1861: LD_INT 3
1863: PPUSH
1864: CALL_OW 12
1868: PUSH
1869: LD_INT 0
1871: PPUSH
1872: LD_INT 2
1874: PPUSH
1875: CALL_OW 12
1879: PUSH
1880: LD_INT 0
1882: PPUSH
1883: LD_INT 2
1885: PPUSH
1886: CALL_OW 12
1890: PUSH
1891: LD_INT 0
1893: PPUSH
1894: LD_INT 1
1896: PPUSH
1897: CALL_OW 12
1901: PUSH
1902: EMPTY
1903: LIST
1904: LIST
1905: LIST
1906: LIST
1907: ST_TO_ADDR
// jankes2 = CreateHuman ;
1908: LD_ADDR_EXP 9
1912: PUSH
1913: CALL_OW 44
1917: ST_TO_ADDR
// PlaceUnitArea ( jankes2 , am , false ) ;
1918: LD_EXP 9
1922: PPUSH
1923: LD_INT 6
1925: PPUSH
1926: LD_INT 0
1928: PPUSH
1929: CALL_OW 49
// ComAgressiveMove ( jankes2 , 28 , 11 ) ;
1933: LD_EXP 9
1937: PPUSH
1938: LD_INT 28
1940: PPUSH
1941: LD_INT 11
1943: PPUSH
1944: CALL_OW 114
// end ;
1948: GO 1787
1950: POP
1951: POP
// end ;
1952: LD_VAR 0 1
1956: RET
// export function atak2 ; begin
1957: LD_INT 0
1959: PPUSH
// for i = 1 to 10 do
1960: LD_ADDR_LOC 2
1964: PUSH
1965: DOUBLE
1966: LD_INT 1
1968: DEC
1969: ST_TO_ADDR
1970: LD_INT 10
1972: PUSH
1973: FOR_TO
1974: IFFALSE 2136
// begin hc_class = 1 ;
1976: LD_ADDR_OWVAR 28
1980: PUSH
1981: LD_INT 1
1983: ST_TO_ADDR
// hc_sex = Rand ( 1 , 2 ) ;
1984: LD_ADDR_OWVAR 27
1988: PUSH
1989: LD_INT 1
1991: PPUSH
1992: LD_INT 2
1994: PPUSH
1995: CALL_OW 12
1999: ST_TO_ADDR
// uc_side = 1 ;
2000: LD_ADDR_OWVAR 20
2004: PUSH
2005: LD_INT 1
2007: ST_TO_ADDR
// uc_nation = 1 ;
2008: LD_ADDR_OWVAR 21
2012: PUSH
2013: LD_INT 1
2015: ST_TO_ADDR
// hc_basic_skills = [ 0 , 0 , 0 , 0 ] ;
2016: LD_ADDR_OWVAR 30
2020: PUSH
2021: LD_INT 0
2023: PUSH
2024: LD_INT 0
2026: PUSH
2027: LD_INT 0
2029: PUSH
2030: LD_INT 0
2032: PUSH
2033: EMPTY
2034: LIST
2035: LIST
2036: LIST
2037: LIST
2038: ST_TO_ADDR
// hc_skills = [ rand ( 2 , 3 ) , rand ( 0 , 2 ) , rand ( 0 , 2 ) , rand ( 0 , 1 ) ] ;
2039: LD_ADDR_OWVAR 31
2043: PUSH
2044: LD_INT 2
2046: PPUSH
2047: LD_INT 3
2049: PPUSH
2050: CALL_OW 12
2054: PUSH
2055: LD_INT 0
2057: PPUSH
2058: LD_INT 2
2060: PPUSH
2061: CALL_OW 12
2065: PUSH
2066: LD_INT 0
2068: PPUSH
2069: LD_INT 2
2071: PPUSH
2072: CALL_OW 12
2076: PUSH
2077: LD_INT 0
2079: PPUSH
2080: LD_INT 1
2082: PPUSH
2083: CALL_OW 12
2087: PUSH
2088: EMPTY
2089: LIST
2090: LIST
2091: LIST
2092: LIST
2093: ST_TO_ADDR
// jankes2 = CreateHuman ;
2094: LD_ADDR_EXP 9
2098: PUSH
2099: CALL_OW 44
2103: ST_TO_ADDR
// PlaceUnitArea ( jankes2 , am , false ) ;
2104: LD_EXP 9
2108: PPUSH
2109: LD_INT 6
2111: PPUSH
2112: LD_INT 0
2114: PPUSH
2115: CALL_OW 49
// ComAgressiveMove ( jankes2 , 135 , 87 ) ;
2119: LD_EXP 9
2123: PPUSH
2124: LD_INT 135
2126: PPUSH
2127: LD_INT 87
2129: PPUSH
2130: CALL_OW 114
// end ;
2134: GO 1973
2136: POP
2137: POP
// end ;
2138: LD_VAR 0 1
2142: RET
// export function atak3 ; begin
2143: LD_INT 0
2145: PPUSH
// for i = 1 to 8 do
2146: LD_ADDR_LOC 2
2150: PUSH
2151: DOUBLE
2152: LD_INT 1
2154: DEC
2155: ST_TO_ADDR
2156: LD_INT 8
2158: PUSH
2159: FOR_TO
2160: IFFALSE 2325
// begin hc_class = 1 ;
2162: LD_ADDR_OWVAR 28
2166: PUSH
2167: LD_INT 1
2169: ST_TO_ADDR
// hc_sex = Rand ( 1 , 2 ) ;
2170: LD_ADDR_OWVAR 27
2174: PUSH
2175: LD_INT 1
2177: PPUSH
2178: LD_INT 2
2180: PPUSH
2181: CALL_OW 12
2185: ST_TO_ADDR
// uc_side = 1 ;
2186: LD_ADDR_OWVAR 20
2190: PUSH
2191: LD_INT 1
2193: ST_TO_ADDR
// uc_nation = 1 ;
2194: LD_ADDR_OWVAR 21
2198: PUSH
2199: LD_INT 1
2201: ST_TO_ADDR
// hc_basic_skills = [ 0 , 0 , 0 , 0 ] ;
2202: LD_ADDR_OWVAR 30
2206: PUSH
2207: LD_INT 0
2209: PUSH
2210: LD_INT 0
2212: PUSH
2213: LD_INT 0
2215: PUSH
2216: LD_INT 0
2218: PUSH
2219: EMPTY
2220: LIST
2221: LIST
2222: LIST
2223: LIST
2224: ST_TO_ADDR
// hc_skills = [ rand ( 1 , 3 ) , rand ( 0 , 2 ) , rand ( 0 , 2 ) , rand ( 0 , 1 ) ] ;
2225: LD_ADDR_OWVAR 31
2229: PUSH
2230: LD_INT 1
2232: PPUSH
2233: LD_INT 3
2235: PPUSH
2236: CALL_OW 12
2240: PUSH
2241: LD_INT 0
2243: PPUSH
2244: LD_INT 2
2246: PPUSH
2247: CALL_OW 12
2251: PUSH
2252: LD_INT 0
2254: PPUSH
2255: LD_INT 2
2257: PPUSH
2258: CALL_OW 12
2262: PUSH
2263: LD_INT 0
2265: PPUSH
2266: LD_INT 1
2268: PPUSH
2269: CALL_OW 12
2273: PUSH
2274: EMPTY
2275: LIST
2276: LIST
2277: LIST
2278: LIST
2279: ST_TO_ADDR
// jankes2 = CreateHuman ;
2280: LD_ADDR_EXP 9
2284: PUSH
2285: CALL_OW 44
2289: ST_TO_ADDR
// PlaceUnitArea ( jankes2 , am , false ) ;
2290: LD_EXP 9
2294: PPUSH
2295: LD_INT 6
2297: PPUSH
2298: LD_INT 0
2300: PPUSH
2301: CALL_OW 49
// ComAgressiveMove ( jankes2 , 93 , 0 ) ;
2305: LD_EXP 9
2309: PPUSH
2310: LD_INT 93
2312: PPUSH
2313: LD_INT 0
2315: PPUSH
2316: CALL_OW 114
// enable ( 01 ) ;
2320: LD_INT 1
2322: ENABLE_MARKED
// end ;
2323: GO 2159
2325: POP
2326: POP
// end ;
2327: LD_VAR 0 1
2331: RET
// every 0 0$01 do
2332: GO 2334
2334: DISABLE
// begin repeat wait ( 0 0$01 ) ;
2335: LD_INT 35
2337: PPUSH
2338: CALL_OW 67
// until Getdistunits ( pak , eng ) < 6 ;
2342: LD_EXP 1
2346: PPUSH
2347: LD_EXP 4
2351: PPUSH
2352: CALL_OW 296
2356: PUSH
2357: LD_INT 6
2359: LESS
2360: IFFALSE 2335
// Setside ( eng , 3 ) ;
2362: LD_EXP 4
2366: PPUSH
2367: LD_INT 3
2369: PPUSH
2370: CALL_OW 235
// Say ( eng , e1 ) ;
2374: LD_EXP 4
2378: PPUSH
2379: LD_STRING e1
2381: PPUSH
2382: CALL_OW 88
// end ; end_of_file
2386: END
// every 0 0$01 trigger FilterUnitsInArea ( lost , ( [ f_enemy , 3 ] ) ) >= 1 do
2387: LD_INT 4
2389: PPUSH
2390: LD_INT 81
2392: PUSH
2393: LD_INT 3
2395: PUSH
2396: EMPTY
2397: LIST
2398: LIST
2399: PPUSH
2400: CALL_OW 70
2404: PUSH
2405: LD_INT 1
2407: GREATEREQUAL
2408: IFFALSE 2420
2410: GO 2412
2412: DISABLE
// begin YouLost ( uciekli ) ;
2413: LD_STRING uciekli
2415: PPUSH
2416: CALL_OW 104
// end ;
2420: END
// every 0 0$01 + 0 0$10 trigger IsDead ( pak ) do
2421: LD_EXP 1
2425: PPUSH
2426: CALL_OW 301
2430: IFFALSE 2442
2432: GO 2434
2434: DISABLE
// begin YouLost ( pakryszkin ) ;
2435: LD_STRING pakryszkin
2437: PPUSH
2438: CALL_OW 104
// end ;
2442: END
// every 0 0$01 trigger FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_depot ] ] ) = 3 do
2443: LD_INT 22
2445: PUSH
2446: LD_INT 3
2448: PUSH
2449: EMPTY
2450: LIST
2451: LIST
2452: PUSH
2453: LD_INT 30
2455: PUSH
2456: LD_INT 0
2458: PUSH
2459: EMPTY
2460: LIST
2461: LIST
2462: PUSH
2463: EMPTY
2464: LIST
2465: LIST
2466: PPUSH
2467: CALL_OW 69
2471: PUSH
2472: LD_INT 3
2474: EQUAL
2475: IFFALSE 2487
2477: GO 2479
2479: DISABLE
// begin YouLost ( baza ) ;
2480: LD_STRING baza
2482: PPUSH
2483: CALL_OW 104
// end ;
2487: END
// every 0 0$01 trigger FilterUnitsInArea ( baza1 , ( [ f_side , 1 ] ) ) >= 1 do
2488: LD_INT 2
2490: PPUSH
2491: LD_INT 22
2493: PUSH
2494: LD_INT 1
2496: PUSH
2497: EMPTY
2498: LIST
2499: LIST
2500: PPUSH
2501: CALL_OW 70
2505: PUSH
2506: LD_INT 1
2508: GREATEREQUAL
2509: IFFALSE 2521
2511: GO 2513
2513: DISABLE
// begin YouLost ( atak ) ;
2514: LD_STRING atak
2516: PPUSH
2517: CALL_OW 104
// end ;
2521: END
// every 0 0$01 trigger FilterUnitsInArea ( baza2 , ( [ f_side , 1 ] ) ) >= 1 do
2522: LD_INT 3
2524: PPUSH
2525: LD_INT 22
2527: PUSH
2528: LD_INT 1
2530: PUSH
2531: EMPTY
2532: LIST
2533: LIST
2534: PPUSH
2535: CALL_OW 70
2539: PUSH
2540: LD_INT 1
2542: GREATEREQUAL
2543: IFFALSE 2555
2545: GO 2547
2547: DISABLE
// begin YouLost ( atak ) ;
2548: LD_STRING atak
2550: PPUSH
2551: CALL_OW 104
// end ;
2555: END
